In existing computer software systems, a category of software applications sometimes referred to as “presence technology” enables users to view or obtain indications of the on-line status of other users. The on-line status indications provided by existing systems indicate the current availability of remote users for real-time communication sessions. Instant messaging (IM) systems are a popular example of presence technology. Instant messaging systems are typically client-server software, in which a client application program executes on a local user's hardware system, in cooperation with one or more associated server programs, typically executing on one or more remote server computer systems. Many instant messaging systems enable a user to define a “buddy list”, consisting of a list of colleagues, workgroup members, friends, etc., that the user wishes to communicate with via the instant messaging application. An instant messaging communication session or dialog involving two or more users is sometimes referred to as a “chat” session.
In existing instant messaging systems, a local user cannot conveniently determine information regarding communication activities of remote users beyond the current instant messaging sessions of the remote users. Accordingly, a local user has no convenient way to obtain information regarding activities of remote users with regard to many common communication applications such as, for example, electronic mail, IP (Internet Protocol) phones, electronic meetings (“eMeetings”), etc. In view of the often asynchronous nature of many communication applications, and the prevalence of out-of-office working models for workgroup members, it is often difficult for a local user to determine if a remote user is attempting to reach them using a communication application other than instant messaging. Moreover, it may be significant for an instant messaging system user to know which communication mode or modes a remote user has been recently using, to assist in selecting an appropriate and effective communication mode for contacting the remote user. For example, a remote user may be reading and sending email, but not monitoring voice mail. If the local user could determine this information regarding the remote user, the local user could then make an informed decision to use email to contact the remote user rather than leaving a voice mail message.
For the above reasons, it would be desirable to have a new system that enables a local user to determine information regarding the current and recent use of communication applications outside the instant messaging application. The system should be applicable to determining information regarding current and previous remote user use of asynchronous communication applications, such as electronic mail, as well as synchronous communication applications, such as IP phone, electronic meetings, instant messaging, and other specific communication applications.